Spring Cloud微服务 | Note(2)
@2018年8月2日 09:40:55
环境:
JDK8+,Graedle4+,Spring Boot 2.0+,Apache HttpClient
数据来源:
中华万年历API(注意乱码处理)
http://wthrcdn.etouch.cn/weather_mini?city=深圳
http://wthrcdn.etouch.cn/weather_mini?citykey=101280601
应用@
1 |
|
使用Redis提升并发访问能力
Q1:由于依赖的第三方API数据,强依赖会导致长延时(请求-请求-返回-解析-返回),来回两次HTTP请求
Q2:免费接口的风险,限制访问次数
Q3:对第三方的并发冲击
解决办法:Redis
及时响应;减少服务调用;
应用@
1 | private final static Logger logger = LoggerFactory.getLogger(WeatherDataServiceImpl.class); |
实现数据的同步
Quartz Scheduler定时获取数据
应用@
1 |
|
获取城市数据
http://mobile.weather.com.cn/js/citylist.xml
减少调用服务;缓存数据;使用XML存储文件;服务调用本地XML文件;
暂用(citilist.xml)
映射xml数据到java中(使用JASB)
1 | // CityList.java |
到这一步,基本数据就已经完成了获取和缓存
推荐GUI界面 Redis-GUI
在GUI里面,可以直观的看到所缓存的数据,包括前面提到的City,Weather
接下来就是完成基本的UI界面
到此,整个项目的基本内容就已经实现
接下来,进入到Spring Cloud内容的学习
附录
RestTemplate
RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率;
@2018年8月2日 14:11:16